Snowflake上でのデータ変換処理の開発をGUIベースで行えるCoalesceとGitHub上のリモートリポジトリを連携してみた #SnowflakeDB
※本エントリは、Snowflakeをもっと使いこなそう! Advent Calendar 2022の24日目の記事となります。
さがらです。
Snowflake上でのデータ変換処理の開発をGUIベースで行えるCoalesceとGitHub上のリモートリポジトリを連携してみたので、その内容をまとめてみます。
Coalesceとは
Coalesceは、Snowflakeに特化したGUIのデータ変換処理のサービスです。
ちょうど昨日、Coalesceの概要について記した上でQuickStartGuideを試したブログを執筆しておりますので、ぜひこちらも併せてご覧ください!
Git連携機能について
Coalesceには、GitHubなどのリモートGitリポジトリサービスと連携することでバージョン管理が出来る機能があります。
具体的には、Coalesce上で定義されたノード、サブグラフ、ジョブ、などの全ての情報がYAMLファイルに変換され、バージョン管理だけでなく、開発したパイプラインの本番環境へのデプロイなどにも使用可能です。
Git連携機能については、下記のDocに詳細が記されていますので、こちらも併せてご覧ください。
CoalesceとGitHub上のリモートリポジトリを連携してみる
では、下記のDocに沿ってCoalesceとGitHub上のリモートリポジトリを連携してみます!
GitHub上でリモートリポジトリを作成
始めに、GitHub上でCoalsceと連携させるリモートリポジトリを作成しておきます。
作成したあと、以下のHTTPSでのリモートリポジトリへのURLが後でCoalesceと連携する際に必要となります。
GitHubユーザーのAccess Tokenの生成
Coalesceに連携させたいGitHubユーザーのAccess Tokenを生成します。
こちらは下記のGitHub公式Docの手順に沿って対応すればOKです。
Scopesについては、repo
に関する全ての権限が付与されていればOKです。
Coalesce上で連携設定
続いて、取得したAccess Tokenを用いて、Coalesce上のユーザーと連携設定を行います。
Coalesceの画面右上の人形のアイコンをクリックし、User Settings
を開きます。
Git Settings
から、以下の情報を入力し、Save and Clone
を押します。これで連携設定は完了です!
Repo URL
:GitHub上で作成したリモートリポジトリへのURLGit Account
:GitHub上のユーザー名Author Name
:Coalesce上でGit周りの操作を行う際のユーザー名AUthor Email
:Coalesce上でGit周りの操作を行う際のユーザーのアドレスToken
:GitHub上で生成したAccess Token
Coalesce上でGit周り操作してみる
では、連携したGitHubのリモートリポジトリを用いて、Coalesce上でブランチを切って開発し、mainブランチにMergeするまでの一連の流れを試してみます。
まず、Coalesce上でGit周りの操作を行うには、Build
の画面の左下のGitのアイコンをクリックします。
昨日のブログで検証した内容がまだCommitされていないため、CommitとPushをしてみます。ちなみに、GUI上で定義したものはすべてYAMLファイルとなり、画面右側にDiffと併せて表示することもできます。
Gitの画面のBranches
タブでは、各ブランチごとにCommitした内容と、新しくブランチを切ることもできます。
試しに、先程Commitした内容からブランチを切ってみます。対象のCommitの行において、New Branch
を押してみます。
別のポップアップ画面が出てくるため、Branch Name
に任意の名前を入れて、Branch and Checkout
を押します。
これで、現在のブランチが先程作成したdevelop
になりました。
ここで、既存のファイルを少し編集してみます。STG_NATION
において、N_NAME
列のLOWER("NATION"."N_NAME")
という記述をなくしてみました。
この上でCoalesce上のGitの画面を見てみると、YAML上の定義も変わっていることがDiffのおかげですぐにわかります。
では、この内容をmainブランチにMargeしていきたいと思います。
まず、開発した内容をCommit and Push
します。
続いて、mainブランチにdevelopブランチで開発した内容をマージします。
まずBranches
タブにて、Selected Branch
でmain
ブランチを選択し、右のCheck Out Latest
を押します。これでCurrent Branchをmain
ブランチの一番新しいコミットの内容に切り替えます。
続いて、Selected Branch
をdevelop
に切り替えて、先程コミットした内容の行でMerge
を押します。
すると、「develop
ブランチの指定したコミット内容を、main
ブランチにMergeするよ」という画面に切り替わりますので、Merge
を押します。これで、develop
ブランチで開発した内容を、main
ブランチにMergeすることが出来ました!
最後に
Snowflake上でのデータ変換処理の開発をGUIベースで行えるCoalesceとGitHub上のリモートリポジトリを連携して、ブランチを切って開発し、mainブランチにMergeするまでの一連の流れも試してみました。
GUIベースのデータ変換のサービスでGit周りに連携しているというのは非常に珍しいですよね!実際ニーズも多い機能だと思いますので、ありがたいですね。